The invention is directed to distributed computing Systems.
A distributed computing system may include a client computer that communicates with a server computer over a network. In such a system, a client program (i.e., a program running on the client computer) causes a server program (i.e., a program running on the server computer) to perform an operation by sending a request to the server program over the network. The server program responds by performing the operation and returning any resulting data to the client program over the network.
One way of invoking an operation at the server is to pack all of the parameters for the operation together and to transmit them to the server for processing. After performing the operation, the server returns the data to the client in the same way.
Exchanges of requests and responses between the client and the server may be made using the Remote Procedure Call ("RPC") protocol. The RPC protocol permits the client program to communicate with the server program by making a procedure call to the server program. RPC software running on the client computer automatically transmits the procedure call to the server computer. RPC software running on the server computer receives the procedure call and initiates a response by the server program. The RPC software then returns the results to the client computer.